﻿using System;
using System.Globalization;
using System.Windows.Data;


namespace FitnessHelperDesktopClient
{
  /// <summary>
  /// Служит для отображения "max" в повторениях, если указано null
  /// </summary>
  [ValueConversion(typeof(int?), typeof(string))]
  class ExerciseRepeatsConverter : IValueConverter
  {
    #region Константы
    /// <summary>
    /// Строковая константа для отображения максимального числа повторений
    /// </summary>
    private const string MAX_REPEATS = "max";
    #endregion

    #region Реализация IValueConverter
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
      return value ?? MAX_REPEATS;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
      var repeatsSrt = (string)value;

      if (string.IsNullOrEmpty(repeatsSrt) ||
          MAX_REPEATS == repeatsSrt)
      {
        return null;
      }

      return value;
    }
    #endregion
  }
}
